import { getDictionariesCom } from '@/utils/index.js'
export default {
  props: {},
  data () {
    return {
      userInfo: {},
      orgCodeList: [],
      dictionaries: { // 字典数据
        customer_tag_status: [], // 标签状态（1-启用，2-暂停，3-回收站）
        customer_tag_type: [], // 创建方式 1-程序化标签，2-自定义标签
        customer_tag_refresh_type: [], // 更新方式 1-例行，2-手动）
        tag_estimate_type: [], // 预估计算方式（字典：tag_estimate_type）
        customer_group_refresh_type: [],
        customer_group_status: [], // 人群状态
        auto_assign_type: [] // 分配计算方式
      }
    }
  },
  computed: {},
  filters: {},
  created () {
    this.userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
    // this.getButtonTreeDto()
    this.initializationData() // 初始化数据
    // 获取字典值
    getDictionariesCom(this.dictionaries).then(res => {
      // console.log(res)
    })
  },
  methods: {
    dictionariesFilters (value, type) {
      const dictionariesValue = '--'
      const dictionaries = this.dictionaries
      if (dictionaries) {
        if (type) {
          const l = dictionaries[type].length
          for (let i = 0; i < l; i++) {
            if (value == dictionaries[type][i].dictId) {
              return dictionaries[type][i].dictName
            }
          }
        } else {
          for (const type in dictionaries) {
            const l = dictionaries[type].length
            for (let i = 0; i < l; i++) {
              if (value == dictionaries[type][i].dictId) {
                return dictionaries[type][i].dictName
              }
            }
          }
        }
        return dictionariesValue
      } else {
        return dictionariesValue
      }
    },
    // 初始化数据
    initializationData () {
      const matched = this.$route.matched
      this.getOrgTreeList() // 公司部门
      const routeName = this.$route.name
      // console.log(routeName)
      switch (routeName) {
        case 'dataBoardIndex':
          // 首页
          this.getVariation(true) // 销售总额XX天变化趋势
          break
        case 'dataBoardOrder':
          // 订单
          this.getVariation(true) // 销售总额XX天变化趋势
          break
        default: // 首页
          // console.log(matched[matched.length - 1].meta.title)
      }
    },

    // 公司部门
    getOrgTreeList (params) {
      // orgProcessOrgList
      const paramsVersion = { 'request': { 'orgName': '', 'orgType': '' }, 'version': '' }
      const orgCodeList = JSON.parse(sessionStorage.getItem('orgCodeList'))
      if (orgCodeList && orgCodeList.length > 0) {
        // console.log(orgCodeList)
        this.orgCodeList = orgCodeList
        // return console.log('dataBoardCommon 公司部门 已经有数据，不需要请求！')
        return
      }
      this.$api.orgTreeList(paramsVersion).then((res) => {
        if (res.code === 0) {
          this.orgCodeList = res.data
          // 存本地缓存
          sessionStorage.setItem('orgCodeList', JSON.stringify(res.data))
        }
        /*
        // id 为 1 的超级管理员不做默认
        const userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
        if (userInfo && userInfo.id !== 1) {
          if (res.data[0].children) {
            // const orgCode = JSON.parse(sessionStorage.getItem('orgCode'))
            this.searchForm.orgCode = [...userInfo.orgCodes]
          } else {
            this.searchForm.orgCode.push(userInfo.orgCode)
          }
        }
        */
      }).catch((err) => {
        console.log(err)
      })
    },

    // 表格 查看 按钮
    showDetail (row) {
      const dialog = {
        visible: true,
        title: '员工业绩统计',
        type: 'performanceStatistics',
        width: '1300px',
        row,
        batch: false,
        subTitle: '(时间：2022年6月)'
      }
      this.dialog = dialog
      console.log('showDetail 查看', this.dialog)
      this.staffTableAchievementDetail.month = row.submitDate
      this.getSelectEmployeeKpi(row)
    },

    // 防抖
    simpleDebounce (fn, delay = 100) {
      let timer = null
      return function () {
        const args = arguments
        if (timer) {
          clearTimeout(timer)
        }
        timer = setTimeout(() => {
          fn.apply(this, args)
        }, delay)
      }
    }
  }
}
